<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>MiXiM: RadioUWBIR Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>


</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">MiXiM
   &#160;<span id="projectnumber">2.3</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('a00183.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#friends">Friends</a>  </div>
  <div class="headertitle">
<div class="title">RadioUWBIR Class Reference<div class="ingroups"><a class="el" href="a00524.html">IEEE 802.15.4A - Classes that implement the IEEE 802.15.4A UWB PHY.</a> &#124; <a class="el" href="a00510.html">phyLayer - physical layer modules</a></div></div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="RadioUWBIR" --><!-- doxytag: inherits="MiximRadio" -->
<p>This class extends the basic radio model.  
 <a href="a00183.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="a00479_source.html">RadioUWBIR.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for RadioUWBIR:</div>
<div class="dyncontent">
<div class="center"><img src="a00968.png" border="0" usemap="#RadioUWBIR_inherit__map" alt="Inheritance graph"/></div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for RadioUWBIR:</div>
<div class="dyncontent">
<div class="center"><img src="a00969.png" border="0" usemap="#RadioUWBIR_coll__map" alt="Collaboration graph"/></div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="a00970.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><b>UWBIRRadioStates</b> { <b>SYNC</b> =  MiximRadio::NUM_RADIO_STATES, 
<b>UWBIR_NUM_RADIO_STATES</b>
 }</td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4fcf2fff34e2a9d289028ebe13b6ada1"></a><!-- doxytag: member="RadioUWBIR::switchTo" ref="a4fcf2fff34e2a9d289028ebe13b6ada1" args="(int newState, simtime_t_cref now)" -->
virtual simtime_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00183.html#a4fcf2fff34e2a9d289028ebe13b6ada1">switchTo</a> (int newState, simtime_t_cref now)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This switchTo method only accepts three states to switch to: reception, transmission and sleep. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a96b2407e5162bf2b54c2a67b723efa84"></a><!-- doxytag: member="RadioUWBIR::reallySwitchTo" ref="a96b2407e5162bf2b54c2a67b723efa84" args="(int newState, simtime_t_cref now)" -->
virtual simtime_t&#160;</td><td class="memItemRight" valign="bottom"><b>reallySwitchTo</b> (int newState, simtime_t_cref now)</td></tr>
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae4588bd3c5aafd430f3722a85a4baa6c"></a><!-- doxytag: member="RadioUWBIR::createNewUWBIRRadio" ref="ae4588bd3c5aafd430f3722a85a4baa6c" args="(bool recordStats, int initialState, Argument::mapped_type_cref minAtt=Argument::MappedOne, Argument::mapped_type_cref maxAtt=Argument::MappedZero)" -->
static <a class="el" href="a00183.html">RadioUWBIR</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>createNewUWBIRRadio</b> (bool recordStats, int initialState, Argument::mapped_type_cref <a class="el" href="a00141.html#a891a34f0c4280d790bd6d97db8270977">minAtt</a>=<a class="el" href="a00013.html#a657d962a1b965814e6b2eecb07f03e80">Argument::MappedOne</a>, Argument::mapped_type_cref <a class="el" href="a00141.html#a26aaf48126840634a094e8223d121259">maxAtt</a>=<a class="el" href="a00013.html#a8523627cdc70492e5e0935b9a3a78cc4">Argument::MappedZero</a>)</td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac1d6465afc99160c6efbe87d95be91d8"></a><!-- doxytag: member="RadioUWBIR::RadioUWBIR" ref="ac1d6465afc99160c6efbe87d95be91d8" args="(int numRadioStates, bool recordStats, int initialState, Argument::mapped_type_cref minAtt=Argument::MappedOne, Argument::mapped_type_cref maxAtt=Argument::MappedZero)" -->
&#160;</td><td class="memItemRight" valign="bottom"><b>RadioUWBIR</b> (int <a class="el" href="a00141.html#ab8dcd5c21a53188f161572a123058ae4">numRadioStates</a>, bool recordStats, int initialState, Argument::mapped_type_cref <a class="el" href="a00141.html#a891a34f0c4280d790bd6d97db8270977">minAtt</a>=<a class="el" href="a00013.html#a657d962a1b965814e6b2eecb07f03e80">Argument::MappedOne</a>, Argument::mapped_type_cref <a class="el" href="a00141.html#a26aaf48126840634a094e8223d121259">maxAtt</a>=<a class="el" href="a00013.html#a8523627cdc70492e5e0935b9a3a78cc4">Argument::MappedZero</a>)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4b53bfa722dbe40dd1a46ddc39c90a81"></a><!-- doxytag: member="RadioUWBIR::mapStateToAtt" ref="a4b53bfa722dbe40dd1a46ddc39c90a81" args="(int state)" -->
virtual Argument::mapped_type_cref&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00183.html#a4b53bfa722dbe40dd1a46ddc39c90a81">mapStateToAtt</a> (int <a class="el" href="a00141.html#aa735fae8f7e81f7b3a56b651401c79d0">state</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">maps RadioState to attenuation, the Radios receiving characteristic <br/></td></tr>
<tr><td colspan="2"><h2><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2fe9963465ed09e02428c4949a85d56b"></a><!-- doxytag: member="RadioUWBIR::startReceivingFrame" ref="a2fe9963465ed09e02428c4949a85d56b" args="(simtime_t_cref now)" -->
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00183.html#a2fe9963465ed09e02428c4949a85d56b">startReceivingFrame</a> (simtime_t_cref now)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by the decider through the phy layer to announce that the radio has locked on a frame and is attempting reception. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1cdcafe6ddd11881a67a519f5ca90f82"></a><!-- doxytag: member="RadioUWBIR::finishReceivingFrame" ref="a1cdcafe6ddd11881a67a519f5ca90f82" args="(simtime_t_cref now)" -->
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00183.html#a1cdcafe6ddd11881a67a519f5ca90f82">finishReceivingFrame</a> (simtime_t_cref now)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by the decider through the phy layer to announce that the radio has finished receiving a frame and is attempting to synchronize on incoming frames. <br/></td></tr>
<tr><td colspan="2"><h2><a name="friends"></a>
Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a76d3794507c276b04459ca2a6f7967d7"></a><!-- doxytag: member="RadioUWBIR::PhyLayerUWBIR" ref="a76d3794507c276b04459ca2a6f7967d7" args="" -->
class&#160;</td><td class="memItemRight" valign="bottom"><b>PhyLayerUWBIR</b></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>This class extends the basic radio model. </p>
<p>It adds a SYNC state before reception. The decider tells the uwb phy layer when it locks on a frame, and the uwb phy layer then sets the uwb radio state into RX mode. This is done through a private method so that the MAC can not change these states. This is why this class is friend with <a class="el" href="a00175.html" title="Physical layer that models an Ultra Wideband Impulse Radio wireless communication system...">PhyLayerUWBIR</a>. </p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>D:/Projects/MiXiM/extsrc/mixim/src/modules/phy/<a class="el" href="a00479_source.html">RadioUWBIR.h</a></li>
</ul>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="a00183.html">RadioUWBIR</a>      </li>

    <li class="footer">Generated on Tue Mar 5 2013 21:26:33 for MiXiM by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li>
   </ul>
 </div>


</body>
</html>
